The Peer-to-Peer Session Initiation Protocol (P2PSIP) is a new series of communication protocols currently being formulated by the Internet Engineering Task Force (IETF). The P2PSIP is an extension from the Session Initiation Protocol (SIP). In essence, the Peer to Peer (P2P) feature is introduced. The client/server (C/S) architecture of traditional SIP communication system is discarded. In the C/S architecture, a central server is depended on to perform user registration, authentication, routing and searching. Through a P2P overlay network, the P2PSIP implements distributed user registration and route locating (namely, the user's information such as “contact” information is stored on overlay network peers in a distributed way). The peers that make up a P2P overlay network are all the terminal peers (such as user computers) which participate in the communication and have certain processing capabilities. This architecture reduces the deployment and maintenance costs for operators and communication costs for users, and improves extensibility and robustness of the system.
With the development and application of future networks, many independent P2P overlay networks may come forth. Such overlay networks may be constructed based on the specific service, network topology, geographic location or common interest. The P2P overlay networks independent of each other may need to interwork, for example, a basic requirement is searching for the location information of a user, namely, one user in a P2P overlay network hoping to locate a user in another overlay network and originate a call request. Besides, the peers in the overlay network may provide other resource and service capabilities for the system (service capabilities may also be regarded as a resource), for example, Network Address Translation (NAT) traversal service, media relay service, gateway and streaming media service. Each overlay network provides plenty of resources. In view of the sharing principles of the P2P network, the resources may be shared not only in the local P2P overlay network, but also in other overlay networks that use the P2P protocol, thus a resource overlay network is constituted in a sense. To sum up, interworking between overlay networks is one of the important issues to be tackled by the P2P.
In the prior art, the essence of the P2P for implementing interworking between overlay networks is: each P2P overlay network (called “local overlay”) has a P2P proxy service peer. The P2P proxy service peer is a SIP proxy server responsible for routing messages between the local overlay networks. The P2P proxy service peers of all local overlay networks make up an overlay network of a higher layer (called “global overlay”). Each P2P proxy operates two P2P protocol stacks (supposing the lower-layer P2P algorithm varies between the overlay networks). One protocol stack is for the local P2P overlay network, and the other protocol stack is for the global P2P overlay network.
The local overlay network also maintains a P2P proxy candidate list. The members in the list are inactive as P2P proxy candidates. The P2P proxy candidate peers send a “HELLO” probe message periodically to the P2P proxy service peer to check whether the P2P proxy service peer is working normally. When detecting that the P2P proxy fails, a peer in the proxy candidate list is activated automatically, incorporated into the global overlay network and registered to be a P2P proxy. If the P2P proxy leaves actively, the P2P proxy needs to select a proxy candidate peer as a P2P proxy service peer.
In the prior art of peer interworking between P2P overlay networks, the local overlay network has only one P2P proxy service peer. However, the P2P network is dynamic (enormous peers may access the network anytime) and the resources are shared, which leads to a heavy load of request tasks to be processed by the proxy service peer. In the local overlay network, when the P2P proxy service peer is overloaded, other peers serve as only proxy candidates. Therefore, the prior art does not make the best of all proxy service resources in the network to balance the load of the proxy service peer.